Register Optimization for Maximum Throughput Loop Pipelining Register Optimization for Maximum Throughput Loop Pipelining

نویسنده

  • Jordi Cortadella
چکیده

UNRET (unrolling and retiming) is an approach for resource-constrained loop pipelining that aims at nding a loop schedule with maximum throughput and minimum register pressure. This paper proposes an algorithm in two phases. In the rst phase, a schedule with maximum throughput is found for a given set of resource constraints. To do this, diierent unrolling degrees are explored in decreasing order of throughput. For each theoretical throughput, both the unrolling degree of the loop and the expected initiation interval of the schedule are analytically computed by using new and eeective methods. In the second phase, the number of registers required by the schedule is reduced while maintining the throughput. The eeectiveness of the proposed approach is shown by presenting results on well-known benchmarks. Results show that UNRET may obtain faster schedules than other approaches, also reducing the register pressure.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Maximum Throughput Loop Pipelining with Register Optimization Maximum Throughput Loop Pipelining with Register Optimization

This paper presents UNRET (unrolling and retiming), a new approach for resource-constrained loop pipelining. UNRET aims at nding a loop schedule with maximum throughput and minimum register pressure. UNRET is composed of two main phases. In the rst phase, a schedule with maximum throughput is found for a given set of resource constraints. To do so, diierent unrolling degrees are explored in dec...

متن کامل

Maximum-Throughput Software Pipelining

This paper presents UNRET (unrolling and retiming), a resource-constrained software pipelining approach aimed at finding a loop schedule with maximum throughput and minimum register requirements. UNRET works in two phases. First, a pipelined loop schedule with maximum throughput is found for a given set of resources. To do this, different unrolling degrees are explored in decreasing order of ex...

متن کامل

Decomposing Meeting Graph Circuits to Minimise Kernel Loop Unrolling

This article studies an important open problem in backend compilation regarding loop unrolling after periodic register allocation. Although software pipelining is a powerful technique to extract fine-grain parallelism, variables can stay alive across more than one kernel iteration, which is challenging for code generation. The classical software solution that does not alter the computation thro...

متن کامل

Tuning Paxos for High-Throughput with Batching and Pipelining

Paxos is probably the most known state machine replication protocol. Two optimizations that can greatly improve its performance are batching and pipelining. Their effectiveness depends significantly on the system properties, mainly network latency and bandwidth, but also on the CPU speed and properties of the application. This makes it hard to know when and how to use each optimization to achie...

متن کامل

Register Pressure Guided Unroll-and-Jam

Unroll-and-jam is an effective loop optimization that not only improves cache locality and instruction level parallelism (ILP) but also benefits other loop optimizations such as scalar replacement. However, unroll-and-jam increases register pressure, potentially resulting in performance degradation when the increase in register pressure causes register spilling. In this paper, we present a low ...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 1995